#include<iostream>
#include<complex>
#include<string>
using namespace std;

template <class T1,class T2>
void test( T1 a, T2 b){

        cout << a+b << endl;
}

template <class T>
void printer(complex<T> a) {
    string str1("real is "), str2 = "image is ";
    cout << str1 << a.real() << ',' << str2 << a.imag() << endl;
}

int main(){
    test("ab",23);

    int i(0);
    complex<int> num1(2,3);
    complex<double> num2(3.5,4.5);
    printer(num1);
    printer(num2);

    return 0;
}
